Tailwind CSSで独自にstyleを定義する
from Tailwind CSS
globalでよく使うサイズとかのthemeの変数を用意して、project内で使う選択肢を制限できる
customする方法のパターンが多すぎて難しいmrsekut.icon
customするにもある程度ルールを設けといたほうが良さそう
コンフリクト起こす
どこで定義されたのかわからなくなる
独自ルールが増えすぎると記憶が死ぬ
パターンの軸が多すぎる
既存のkeyに対して変更するか、新しいkeyを導入するか
ここでkeyと呼んでるのは、例えばbackgroundColorのような、class=""の中に書くもの
tailwind CSSのcorePluginsに対して拡張するか、❌️@tailwindに対して拡張するか
前者は、❌️tailwind.config.jsの中で書く
後者は、CSSかPluginとして書く
JSで書くか、CSSで書くか
Customizeするパターン
keyは既存のものを使いながら、中身を変更する
Tailwind CSSの特定のルールの内容を全て上書きする
Tailwind CSSの既存のルールを無効にする
Tailwind CSSの元のルールも残しながら、新しい値を追加する
CSSを書いて@tailwindに対して拡張を行う
これを使って何が嬉しい #??
独自の新しいkeyを導入する
Tailwind CSSのpluginsとして提供されているものを使う
自分でTailwind CSSのPluginを作る
静的に書くパターンと、動的に書くパターンとある
CSSを書いて@tailwindに対して拡張を行う
これを使って何が嬉しい #??
定義済みのものを利用する際に、ルールを無視する
[]を使う
top-[117px]みたいに[]を付けると任意の値を指定できる
https://tailwindcss.com/docs/adding-custom-styles#using-arbitrary-values
破綻しそうmrsekut.icon
tialwindで用意されていないcssを使う場合も[]
e.g. class="[mask-type:luminance]"
https://tailwindcss.com/docs/adding-custom-styles#arbitrary-properties
#WIP
『WEB+DB PRESS Vol.133』 p.70~
CSSを書いて@tailwindに対して拡張を行うの存在意義がよくわからない #??
既存のkeyを上書きする際に、なぜ❌️tailwind.config.jsを使わないのか?
この棲み分けが不明 #??
新しくkeyを導入する際に、なぜPluginsを使わないのか?
この棲み分けが不明 #??
実際、機能が重複しているので以下のように書くとルールがコンフリクトする
元々、以下のようなルールが入っている
code:css
.rounded-2xl {
border-radius: 1rem
}
Pluginでツールを追加
code:tailwind.config.js
module.exports = {
plugins: [
function ({ addUtilities }) {
addUtilities({
'.rounded-2xl': {
'border-radius': '0.3rem',
},
});
},
],
};
CSSでも同じものを追加
code:global.css
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer utilities {
.rounded-2xl {
border-radius: 0.2rem;
}
}
このとき、className=".rounded-2xl"と書くと0.3remになった
pluginが優先されたmrsekut.icon
.cssを書く
Tailwind CSSのdirectives
関数
https://tailwindcss.com/docs/functions-and-directives#functions
theme()
screen()